package 图形界面设计;

import javax.swing.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

//创建注册界面
public class getAscllFrame extends JFrame implements KeyListener {
    public getAscllFrame(){
        frame1();
        setVisible(true);//true让窗口展示出来
    }


    //设置无参构造器，方便直接创建界面，并让界面直接显示出来
    private void frame1() {
        this.setSize(1024,576);//原长宽为1024*576
        //设置标题
        setTitle("获取字符串");
        //设置置顶
        setAlwaysOnTop(true);
        //设置居中
        setLocationRelativeTo(null);
        //设置关闭方式。3表示关闭页面即程序关闭运行
        setDefaultCloseOperation(3);
        //取消界面中，添加容器时默认的居中放置，只有取消了才会按照XY轴的形式添加组件
        this.setLayout(null);
        //给窗体添加键盘监听器，this表示给本类对象，本类窗口，触发后会执行本类对应代码
        this.addKeyListener(this);
        ImageIcon icon = new ImageIcon("C:\\Users\\tanxing\\Desktop\\编程代码练习\\java练习\\java1\\src\\image\\all.jpg");
        JLabel label = new JLabel(icon);
        label.setBounds(0,0,1024,576);
        this.add(label);
    }

    @Override
    public void keyTyped(KeyEvent e) {

    }

    @Override
    public void keyPressed(KeyEvent e) {
//        System.out.println("按下不松");
    }

    @Override
    public void keyReleased(KeyEvent e) {
//        System.out.println("按下松开");
        char i = e.getKeyChar();
        int j = i;//将字符转化为ascll码，隐式转换
        //获取按键对应的字符。
        if (j!=65535) {//表示shift键不用输出
            char b = e.getKeyChar();
            System.out.print("按键对应的字符:");
            System.out.println(b);

            //获取按键对应的编号。即不完全的ascll码，大小写无法分辨
            int a = b;//将字符转化为ascll码，隐式转换
            System.out.print("字符对应的ASCLL码:");
            System.out.println(a);
            System.out.println("-----------------------------");
        }
    }
}
